<?php
require_once("../includes/config.php");
include DIR_INCLUDES_FT.'bootstrap.php';
header('Content-type: text/html; charset=utf-8');

$codigo_produto_style = 'style="display:none;"';
$codigo_porcao_style = 'style="display:none;"';
$codigo_loja_style = 'style="display:none;"';

if(isset($_GET['id'])){
	$codigo = Doctrine::getTable("CodigosBarras")->find($_GET['id']);
	switch ($codigo->tipo_codigo) {
		case 1:
			$codigo_produto = Doctrine_Query::create()
								->from("CodigosBarrasProdutos cp")->innerJoin("cp.Produtos p")->innerJoin("cp.Unidades u")
								->where("cp.codigo_barras_id = ?", $codigo->id)->fetchOne();
			$codigo_produto_style = "";
		break;
		case 2:
			$codigo_porcao = Doctrine_Query::create()->from("CodigosBarrasPorcoes cp")->where("cp.codigo_barras_id = ?", $codigo->id)->fetchOne();
			$codigo_porcao_style = "";
		break;
		case 3:
			$codigo_loja = Doctrine_Query::create()
								->from("CodigosBarrasLojas cl")->innerJoin("cl.Lojas l")
								->where("cl.codigo_barras_id = ?", $codigo->id)->fetchOne();
			$codigo_loja_style = "";
		break;
	}
} else {
	$codigo = new CodigosBarras();
	$codigo_produto = new CodigosBarrasProdutos();
	$codigo_porcao = new CodigosBarrasPorcoes();
	$codigo_loja = new CodigosBarrasLojas();
}?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt" lang="pt" dir="ltr">
	<head>
	<?require(DIR_FT."header.php");?>
		<script type="text/javascript">
			var isValidNumeric = /^\d+(\.\d+)?$/;

			jQuery.validator.addMethod("selectable_produto", function(value, element) {
				if(value == 0 && $('#tipo_codigo').val() == 1){return false;}else {return true;}
			}, '<?=SELECT_PRODUTO_ERROR?>');

			jQuery.validator.addMethod("quantidade", function(value, element) {
				if(!isValidNumeric.test(value) && $('#tipo_codigo').val() == 1){return false;}else {return true;}
			}, '<?=NUMERICO_INCORRECTO?>');

			jQuery.validator.addMethod("selectable_unidade", function(value, element) {
				if(value == 0 && $('#tipo_codigo').val() == 1){return false;}else {return true;}
			}, '<?=SELECT_UNIDADE_ERROR?>');

			jQuery.validator.addMethod("porcao", function(value, element) {
				if(!isValidNumeric.test(value) && $('#tipo_codigo').val() == 2){return false;}else {return true;}
			}, '<?=NUMERICO_INCORRECTO?>');

			jQuery.validator.addMethod("selectable_loja", function(value, element) {
				if(value == 0 && $('#tipo_codigo').val() == 3){return false;}else {return true;}
			}, '<?=SELECT_LOJA_ERROR?>');
			
			$(document).ready(function(){
				$("#codigosform").validate({
					rules: {
						codigo_barras: {
							required: true,
							remote:{
								url: "codigos.serverside.php",
								type: "post",
								data: {id: $("#id").val(), accao:'verifica_codigo'}
							}
						}
					},
					submitHandler: function(form){
						agree = confirm('<?=FORM_COMMIT?>');
						if(agree){form.submit();}
					}
				});
			});
			
			function show_tipo_codigo(obj){
				$('#1').hide('normal');
				$('#2').hide('normal');
				$('#3').hide('normal');
				if($(obj).val() != ''){
					$("#"+$(obj).val()).show("normal");
				}
			}
		</script>
	</head>
	<body>
	<?php require_once(DIR_MENUS_FT."menu.php");?>
	<div id="main_div"  style="">
		<form enctype="multipart/form-data" accept-charset="utf-8" id="codigosform" action="codigos_form_edit.php" method="post">
			<fieldset id="form-area">
				<legend><?=CODIGO_BARRAS?></legend>
				<label for="codigo_barras"><?=CODIGOS_BARRAS?>:</label>
				<input type="text" id="codigo_barras" name="codigo_barras" value="<?=$codigo->codigo_barras?>" />
				
				<label for="tipo_codigo"><?=TIPO_CODIGO_BARRAS?>:</label>
				<select id="tipo_codigo" name="tipo_codigo" class="required" onchange="show_tipo_codigo(this);">
					<option value=""><?=SELECCIONE_TIPO_CODIGO?></option>
					<option value="1" <?if($codigo->tipo_codigo == 1){echo 'selected="selected"';}?>><?=PRODUTO?></option>
					<option value="2" <?if($codigo->tipo_codigo == 2){echo 'selected="selected"';}?>><?=PORCAO?></option>
					<option value="3" <?if($codigo->tipo_codigo == 3){echo 'selected="selected"';}?>><?=LOJA?></option>
				</select>
				
				<div id="1" <?=$codigo_produto_style?> >
					<label for="produto"><?=PRODUTO?>:</label>
					<select id="produto" name="produto" class="selectable_produto">
						<option value="0" selected="selected"><?=SELECCIONE_PRODUTO?></option>
						<?$produtos = Doctrine_Query::create()->from("Produtos p")->innerJoin("p.Categorias c")->execute();
						foreach ($produtos as $produto){?>
							<option value="<?=$produto->id?>" <?if($codigo_produto->produto_id == $produto->id){echo 'selected="selected"';}?>><?=$produto->nome." - ".$produto->Categorias->nome?></option>
						<?}?>
					</select>
					
					<label for="quantidade_unitaria" ><?=QUANTIDADE_UNITARIA?></label>
					<input id="quantidade_unitaria" name="quantidade_unitaria" class="quantidade" type="text" value="<?=$codigo_produto->quantidade_unitaria?>" />
					
					<label for="unidade"><?=UNIDADE?></label>
					<?php $unidades = Doctrine_Query::create()->from("Unidades u")->execute();?>
					<select id="unidade" name="unidade" class="selectable_unidade">
						<option value="0"><?=SELECCIONE_UNIDADE?></option>
					<?foreach ($unidades as $unidade){?>
						<option value="<?=$unidade->id?>" <?if($codigo_produto->unidade_id == $unidade->id){echo 'selected="selected"';}?>><?=$unidade->sigla?></option>
					<?}?>
					</select>
				</div>
				
				<div id="2" <?=$codigo_porcao_style?>>
					<label for="porcao"><?=PORCAO?>:</label>
					<input name="porcao" id="porcao" class="porcao" type="text" value="<?=$codigo_porcao->porcao?>" />
				</div>
				
				<div id="3" <?=$codigo_loja_style?>>
					<label for="loja"><?=LOJA?>:</label>
					<select id="loja" name="loja" class="selectable_loja">
						<option value="0" selected="selected"><?=SELECCIONE_LOJA?></option>
						<?$lojas = Doctrine_Query::create()->from("Lojas l")->innerJoin("l.Clientes c")->execute();
						foreach ($lojas as $loja){?>
							<option value="<?=$loja->id?>" <?if($codigo_loja->loja_id == $loja->id){echo 'selected="selected"';}?>><?=$loja->nome." - " .$loja->morada. " - " .$loja->Clientes->nome?></option>
						<?}?>
					</select>
				</div>
				
				<input type="submit" name="submit" value="<?=GRAVAR?>" class="submit-button" />
				<div style="clear: both;"></div>
			</fieldset>
			<input type="hidden" name="id" id="id" value="<?=$codigo->id?>" />
		</form>
	</div>
	<?require(DIR_FT."footer.php");?>
	</body>
</html>